{
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "# Descriptive Statistics Analysis"
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "import statistics as sc\n",
        "from scipy import stats\n",
        "import math\n",
        "\n",
        "import warnings\n",
        "warnings.filterwarnings(\"ignore\")\n",
        "\n",
        "# fix_yahoo_finance is used to fetch data \n",
        "import fix_yahoo_finance as yf\n",
        "yf.pdr_override()"
      ],
      "outputs": [],
      "execution_count": 1,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# input\n",
        "symbol = 'AMD'\n",
        "start = '2007-01-01'\n",
        "end = '2018-12-31'\n",
        "\n",
        "# Read data \n",
        "dataset = yf.download(symbol,start,end)\n",
        "\n",
        "# View Columns\n",
        "dataset.head()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[*********************100%***********************]  1 of 1 downloaded\n"
          ]
        },
        {
          "output_type": "execute_result",
          "execution_count": 2,
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Open</th>\n",
              "      <th>High</th>\n",
              "      <th>Low</th>\n",
              "      <th>Close</th>\n",
              "      <th>Adj Close</th>\n",
              "      <th>Volume</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Date</th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2007-01-03</th>\n",
              "      <td>20.080000</td>\n",
              "      <td>20.400000</td>\n",
              "      <td>19.350000</td>\n",
              "      <td>19.520000</td>\n",
              "      <td>19.520000</td>\n",
              "      <td>28350300</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2007-01-04</th>\n",
              "      <td>19.660000</td>\n",
              "      <td>19.860001</td>\n",
              "      <td>19.320000</td>\n",
              "      <td>19.790001</td>\n",
              "      <td>19.790001</td>\n",
              "      <td>23652500</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2007-01-05</th>\n",
              "      <td>19.540001</td>\n",
              "      <td>19.910000</td>\n",
              "      <td>19.540001</td>\n",
              "      <td>19.709999</td>\n",
              "      <td>19.709999</td>\n",
              "      <td>15902400</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2007-01-08</th>\n",
              "      <td>19.709999</td>\n",
              "      <td>19.860001</td>\n",
              "      <td>19.370001</td>\n",
              "      <td>19.469999</td>\n",
              "      <td>19.469999</td>\n",
              "      <td>15814800</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2007-01-09</th>\n",
              "      <td>19.450001</td>\n",
              "      <td>19.709999</td>\n",
              "      <td>19.370001</td>\n",
              "      <td>19.650000</td>\n",
              "      <td>19.650000</td>\n",
              "      <td>14494200</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                 Open       High        Low      Close  Adj Close    Volume\n",
              "Date                                                                       \n",
              "2007-01-03  20.080000  20.400000  19.350000  19.520000  19.520000  28350300\n",
              "2007-01-04  19.660000  19.860001  19.320000  19.790001  19.790001  23652500\n",
              "2007-01-05  19.540001  19.910000  19.540001  19.709999  19.709999  15902400\n",
              "2007-01-08  19.709999  19.860001  19.370001  19.469999  19.469999  15814800\n",
              "2007-01-09  19.450001  19.709999  19.370001  19.650000  19.650000  14494200"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 2,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "dataset.tail()"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 3,
          "data": {
            "text/html": [
              "<div>\n",
              "<style scoped>\n",
              "    .dataframe tbody tr th:only-of-type {\n",
              "        vertical-align: middle;\n",
              "    }\n",
              "\n",
              "    .dataframe tbody tr th {\n",
              "        vertical-align: top;\n",
              "    }\n",
              "\n",
              "    .dataframe thead th {\n",
              "        text-align: right;\n",
              "    }\n",
              "</style>\n",
              "<table border=\"1\" class=\"dataframe\">\n",
              "  <thead>\n",
              "    <tr style=\"text-align: right;\">\n",
              "      <th></th>\n",
              "      <th>Open</th>\n",
              "      <th>High</th>\n",
              "      <th>Low</th>\n",
              "      <th>Close</th>\n",
              "      <th>Adj Close</th>\n",
              "      <th>Volume</th>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>Date</th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "      <th></th>\n",
              "    </tr>\n",
              "  </thead>\n",
              "  <tbody>\n",
              "    <tr>\n",
              "      <th>2018-12-24</th>\n",
              "      <td>16.520000</td>\n",
              "      <td>17.219999</td>\n",
              "      <td>16.370001</td>\n",
              "      <td>16.650000</td>\n",
              "      <td>16.650000</td>\n",
              "      <td>62933100</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2018-12-26</th>\n",
              "      <td>16.879999</td>\n",
              "      <td>17.910000</td>\n",
              "      <td>16.030001</td>\n",
              "      <td>17.900000</td>\n",
              "      <td>17.900000</td>\n",
              "      <td>108811800</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2018-12-27</th>\n",
              "      <td>17.430000</td>\n",
              "      <td>17.740000</td>\n",
              "      <td>16.440001</td>\n",
              "      <td>17.490000</td>\n",
              "      <td>17.490000</td>\n",
              "      <td>111373000</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2018-12-28</th>\n",
              "      <td>17.530001</td>\n",
              "      <td>18.309999</td>\n",
              "      <td>17.139999</td>\n",
              "      <td>17.820000</td>\n",
              "      <td>17.820000</td>\n",
              "      <td>109214400</td>\n",
              "    </tr>\n",
              "    <tr>\n",
              "      <th>2018-12-31</th>\n",
              "      <td>18.150000</td>\n",
              "      <td>18.510000</td>\n",
              "      <td>17.850000</td>\n",
              "      <td>18.459999</td>\n",
              "      <td>18.459999</td>\n",
              "      <td>84732200</td>\n",
              "    </tr>\n",
              "  </tbody>\n",
              "</table>\n",
              "</div>"
            ],
            "text/plain": [
              "                 Open       High        Low      Close  Adj Close     Volume\n",
              "Date                                                                        \n",
              "2018-12-24  16.520000  17.219999  16.370001  16.650000  16.650000   62933100\n",
              "2018-12-26  16.879999  17.910000  16.030001  17.900000  17.900000  108811800\n",
              "2018-12-27  17.430000  17.740000  16.440001  17.490000  17.490000  111373000\n",
              "2018-12-28  17.530001  18.309999  17.139999  17.820000  17.820000  109214400\n",
              "2018-12-31  18.150000  18.510000  17.850000  18.459999  18.459999   84732200"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 3,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "sample = round(dataset['Adj Close'],2)"
      ],
      "outputs": [],
      "execution_count": 4,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Sample statistic ia a summary measure of sample such as mean, variance, and standaardeviation. \n",
        "\n",
        "Mean is a measurement of central location or average values.\n",
        "\n",
        "Variance is a measurement of variability computed by taking the positive sqaure root of the variance. \n",
        "\n",
        "Median is the middle value when the data are arranged in ascending order. \n",
        "\n",
        "Mode is the value that occurs the most frequency. "
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "print('Sample Statistics:')\n",
        "print('Sample Mean: ', sample.mean())\n",
        "print('Sample Variance: ', sample.var())\n",
        "print('Sample Standarad Deviation: ', sample.std())\n",
        "print('Sample Median: ', sc.median(sample))\n",
        "print('Sample Mode: ', sc.mode(sample))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Sample Statistics:\n",
            "Sample Mean:  7.307850993377494\n",
            "Sample Variance:  25.379943078153996\n",
            "Sample Standarad Deviation:  5.037851037709829\n",
            "Sample Median:  6.12\n"
          ]
        },
        {
          "output_type": "error",
          "ename": "StatisticsError",
          "evalue": "no unique mode; found 3 equally common values",
          "traceback": [
            "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
            "\u001b[1;31mStatisticsError\u001b[0m                           Traceback (most recent call last)",
            "\u001b[1;32m<ipython-input-5-01c17f9f8d3e>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      4\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Sample Standarad Deviation: '\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msample\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mstd\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      5\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Sample Median: '\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmedian\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msample\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 6\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m'Sample Mode: '\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0msc\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mmode\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0msample\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
            "\u001b[1;32m~\\Anaconda3\\envs\\py35\\lib\\statistics.py\u001b[0m in \u001b[0;36mmode\u001b[1;34m(data)\u001b[0m\n\u001b[0;32m    472\u001b[0m     \u001b[1;32melif\u001b[0m \u001b[0mtable\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    473\u001b[0m         raise StatisticsError(\n\u001b[1;32m--> 474\u001b[1;33m                 \u001b[1;34m'no unique mode; found %d equally common values'\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mtable\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    475\u001b[0m                 )\n\u001b[0;32m    476\u001b[0m     \u001b[1;32melse\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
            "\u001b[1;31mStatisticsError\u001b[0m: no unique mode; found 3 equally common values"
          ]
        }
      ],
      "execution_count": 5,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Pecentile is a value that at least p percent of the observations are less than or equal to this value and at least (100 - p) percent of the observations are greater than or equal to this value. "
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "p = np.percentile(sample, 50)\n",
        "\n",
        "print('Sample percentile of 50th: ', p)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Sample percentile of 50th:  6.12\n"
          ]
        }
      ],
      "execution_count": 6,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "The 25th percentiles is first quartile.\n",
        "\n",
        "The 50th percentiles(median) is second quartile.\n",
        "\n",
        "The 75th percentiles is third quartile."
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "sample.quantile([0.25,0.5,0.75])"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 7,
          "data": {
            "text/plain": [
              "0.25    3.6175\n",
              "0.50    6.1200\n",
              "0.75    9.7275\n",
              "Name: Adj Close, dtype: float64"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 7,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Range is a measure of variability. The difference between the largest values and smallest value."
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "print('Range: ', sample.max()-sample.min())"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Range:  31.1\n"
          ]
        }
      ],
      "execution_count": 8,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Interquartile is a measure of variability. The difference between the third and first quartiles."
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "from scipy.stats import iqr\n",
        "\n",
        "print('Interquartile range (IQR): ', iqr(sample))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Interquartile range (IQR):  6.11\n"
          ]
        }
      ],
      "execution_count": 9,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#75th percentile\n",
        "q3 = sample.quantile(0.75)\n",
        "q3"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 10,
          "data": {
            "text/plain": [
              "9.7275000000000009"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 10,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#25th percentile\n",
        "q1 = sample.quantile(0.25)\n",
        "q1"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 11,
          "data": {
            "text/plain": [
              "3.6174999999999997"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 11,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#interquartile range\n",
        "IQR = q3  - q1\n",
        "IQR"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 12,
          "data": {
            "text/plain": [
              "6.1100000000000012"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 12,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Harmonic Mean is also a mathematical average but is limited in its application."
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "print('Sample Harmonifc Mean: ', stats.hmean(sample))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Sample Harmonifc Mean:  4.79047881844\n"
          ]
        }
      ],
      "execution_count": 13,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "plt.boxplot(sample)\n",
        "plt.show()"
      ],
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 14,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# calculate summary statistics\n",
        "data_mean, data_std = sample.mean(), sample.std()\n",
        "# identify outliers\n",
        "cut_off = data_std * 3\n",
        "lower, upper = data_mean - cut_off, data_mean + cut_off\n",
        "# identify outliers\n",
        "outliers = [x for x in sample if x < lower or x > upper]\n",
        "print('Identified outliers: %d' % len(outliers))\n",
        "# remove outliers\n",
        "outliers_removed = [x for x in sample if x >= lower and x <= upper]\n",
        "print('Non-outlier observations: %d' % len(outliers_removed))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Identified outliers: 44\n",
            "Non-outlier observations: 2976\n"
          ]
        }
      ],
      "execution_count": 15,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from numpy import percentile\n",
        "\n",
        "q25, q75 = percentile(sample, 25), percentile(sample, 75)\n",
        "iqr = q75 - q25\n",
        "print('Percentiles: 25th=%.3f, 75th=%.3f, IQR=%.3f' % (q25, q75, iqr))\n",
        "# calculate the outlier cutoff\n",
        "cut_off = iqr * 1.5\n",
        "lower, upper = q25 - cut_off, q75 + cut_off\n",
        "# identify outliers\n",
        "outliers = [x for x in sample if x < lower or x > upper]\n",
        "print('Identified outliers: %d' % len(outliers))\n",
        "# remove outliers\n",
        "outliers_removed = [x for x in sample if x >= lower and x <= upper]\n",
        "print('Non-outlier observations: %d' % len(outliers_removed))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Percentiles: 25th=3.617, 75th=9.728, IQR=6.110\n",
            "Identified outliers: 97\n",
            "Non-outlier observations: 2923\n"
          ]
        }
      ],
      "execution_count": 16,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print('Skewness: ', sample.skew())"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Skewness:  1.56889940428\n"
          ]
        }
      ],
      "execution_count": 17,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print('Five-number Summary: ')\n",
        "print(sample.describe())"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Five-number Summary: \n",
            "count    3020.000000\n",
            "mean        7.307851\n",
            "std         5.037851\n",
            "min         1.620000\n",
            "25%         3.617500\n",
            "50%         6.120000\n",
            "75%         9.727500\n",
            "max        32.720000\n",
            "Name: Adj Close, dtype: float64\n"
          ]
        }
      ],
      "execution_count": 18,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Z-score is a standardized value and denote the number of standard deviations from the mean. "
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "from scipy import stats\n",
        "\n",
        "print('Z-scores:')\n",
        "stats.zscore(sample)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Z-scores:\n"
          ]
        },
        {
          "output_type": "execute_result",
          "execution_count": 19,
          "data": {
            "text/plain": [
              "array([ 2.42448046,  2.47808361,  2.4622012 , ...,  2.02146414,\n",
              "        2.08697911,  2.21403844])"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 19,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "markdown",
      "source": [
        "Coefficient of variation is a measure of relative variability computed by dividing the standard deviation by the mean and multiplying by 100. "
      ],
      "metadata": {}
    },
    {
      "cell_type": "code",
      "source": [
        "print('Coefficient of variation:')\n",
        "stats.variation(sample)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Coefficient of variation:\n"
          ]
        },
        {
          "output_type": "execute_result",
          "execution_count": 20,
          "data": {
            "text/plain": [
              "0.68926102788890209"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 20,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "fig1, ax1 = plt.subplots()\n",
        "ax1.set_title('Sample Box plot')\n",
        "ax1.boxplot(sample)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 21,
          "data": {
            "text/plain": [
              "{'boxes': [<matplotlib.lines.Line2D at 0x1619a737898>],\n",
              " 'caps': [<matplotlib.lines.Line2D at 0x1619a73c390>,\n",
              "  <matplotlib.lines.Line2D at 0x1619a73c7f0>],\n",
              " 'fliers': [<matplotlib.lines.Line2D at 0x1619a7410b8>],\n",
              " 'means': [],\n",
              " 'medians': [<matplotlib.lines.Line2D at 0x1619a73cc18>],\n",
              " 'whiskers': [<matplotlib.lines.Line2D at 0x1619a7379e8>,\n",
              "  <matplotlib.lines.Line2D at 0x1619a737ef0>]}"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 21,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "red_square = dict(markerfacecolor='r', marker='s')\n",
        "fig5, ax5 = plt.subplots()\n",
        "ax5.set_title('Horizontal Boxes')\n",
        "ax5.boxplot(sample, vert=False, flierprops=red_square)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 22,
          "data": {
            "text/plain": [
              "{'boxes': [<matplotlib.lines.Line2D at 0x1619a77b6a0>],\n",
              " 'caps': [<matplotlib.lines.Line2D at 0x1619a780160>,\n",
              "  <matplotlib.lines.Line2D at 0x1619a7805c0>],\n",
              " 'fliers': [<matplotlib.lines.Line2D at 0x1619a780e80>],\n",
              " 'means': [],\n",
              " 'medians': [<matplotlib.lines.Line2D at 0x1619a780a20>],\n",
              " 'whiskers': [<matplotlib.lines.Line2D at 0x1619a77b7f0>,\n",
              "  <matplotlib.lines.Line2D at 0x1619a77bcf8>]}"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 22,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "print('Empirical rule:')\n",
        "final_list = [x for x in sample if (x > sample.mean() - 2 * sample.std())]\n",
        "final_list = [x for x in final_list if (x < sample.mean() + 2 * sample.std())]\n",
        "print(final_list)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Empirical rule:\n",
            "[16.03, 16.05, 16.22, 15.95, 15.79, 15.55, 15.77, 15.69, 15.6, 15.32, 15.5, 15.13, 14.9, 14.69, 14.6, 14.95, 14.83, 14.94, 14.92, 14.56, 14.54, 14.69, 15.68, 15.08, 15.07, 14.79, 14.18, 13.95, 14.09, 14.1, 14.19, 14.2, 14.17, 13.94, 14.13, 13.93, 14.01, 13.72, 13.41, 13.6, 13.35, 13.5, 13.55, 13.5, 13.38, 13.08, 13.06, 12.83, 12.9, 12.71, 12.86, 13.35, 13.27, 13.19, 13.66, 13.57, 13.52, 13.47, 13.91, 14.28, 14.16, 14.04, 14.57, 14.65, 14.5, 14.32, 13.82, 13.54, 13.63, 13.69, 13.53, 13.28, 13.18, 13.57, 14.05, 14.68, 15.36, 15.4, 15.58, 15.43, 15.59, 15.43, 15.42, 15.21, 14.88, 14.76, 14.6, 14.37, 14.27, 14.31, 14.17, 13.98, 13.63, 13.68, 14.07, 13.91, 13.8, 13.96, 13.78, 13.63, 13.51, 13.57, 13.64, 14.72, 14.57, 14.28, 14.18, 14.58, 14.49, 14.3, 14.36, 14.36, 14.19, 14.39, 14.57, 14.43, 14.65, 15.36, 15.43, 15.72, 15.84, 15.46, 15.78, 15.5, 15.36, 15.21, 15.58, 14.73, 13.87, 13.79, 13.54, 13.41, 13.4, 12.85, 12.77, 12.63, 13.42, 13.08, 13.01, 12.84, 12.54, 11.95, 11.64, 11.89, 12.1, 12.17, 12.01, 12.06, 12.13, 11.98, 11.66, 12.3, 12.42, 13.0, 13.17, 12.9, 12.94, 12.61, 12.94, 12.97, 12.83, 12.73, 12.69, 12.84, 13.3, 13.1, 13.35, 13.24, 13.48, 13.81, 13.75, 13.28, 13.2, 13.23, 13.2, 13.23, 13.35, 13.63, 13.63, 13.79, 14.02, 13.8, 13.94, 13.98, 13.96, 14.11, 14.55, 13.8, 13.75, 13.73, 13.12, 12.75, 12.89, 12.88, 13.0, 13.08, 12.8, 13.17, 13.42, 13.43, 13.01, 12.51, 12.37, 11.95, 12.4, 12.28, 12.7, 12.64, 12.07, 11.28, 10.83, 10.78, 10.27, 10.15, 10.35, 10.14, 9.76, 9.66, 9.25, 8.91, 9.07, 9.05, 9.18, 9.07, 8.97, 8.84, 8.43, 7.95, 7.68, 7.98, 7.97, 7.79, 7.77, 7.77, 7.53, 7.32, 7.5, 7.14, 6.77, 6.25, 6.08, 6.0, 5.53, 5.96, 6.25, 6.41, 6.12, 6.57, 6.34, 7.07, 6.83, 7.56, 7.58, 7.15, 7.46, 7.61, 7.61, 7.59, 8.0, 7.92, 7.21, 6.74, 6.59, 6.34, 6.28, 6.41, 6.7, 6.53, 6.45, 6.5, 6.83, 6.96, 6.71, 6.97, 7.13, 7.28, 7.02, 7.21, 6.76, 6.76, 6.84, 6.49, 6.49, 6.16, 6.48, 6.43, 6.73, 6.38, 6.34, 6.39, 6.15, 6.11, 6.21, 6.3, 6.22, 6.16, 5.91, 5.89, 6.07, 6.19, 6.26, 6.23, 6.34, 6.03, 6.26, 6.27, 6.01, 5.86, 5.78, 6.07, 6.19, 6.11, 6.14, 5.96, 5.92, 6.03, 6.06, 6.0, 6.02, 5.96, 6.22, 6.16, 6.53, 7.12, 6.91, 6.93, 6.94, 7.16, 7.19, 7.16, 7.41, 7.26, 7.1, 7.12, 7.08, 7.07, 6.88, 6.92, 6.82, 6.77, 6.88, 6.8, 6.81, 7.19, 7.78, 7.43, 7.68, 7.43, 6.96, 7.14, 7.52, 7.71, 7.72, 7.29, 7.33, 6.99, 6.55, 6.24, 6.43, 6.13, 5.95, 5.83, 5.65, 5.44, 5.3, 5.38, 5.53, 5.06, 4.96, 4.84, 4.82, 4.72, 5.06, 5.3, 4.65, 4.59, 4.41, 4.67, 4.37, 4.36, 4.19, 4.21, 4.23, 4.21, 4.28, 4.48, 4.6, 4.8, 5.03, 5.13, 5.11, 5.21, 5.15, 5.3, 5.64, 5.91, 5.58, 5.7, 5.76, 5.81, 5.93, 5.93, 6.07, 6.25, 6.29, 6.34, 6.15, 5.84, 5.96, 6.07, 5.77, 5.78, 5.71, 5.75, 5.18, 5.26, 4.9, 5.3, 5.42, 4.99, 4.94, 4.88, 5.23, 5.16, 4.29, 5.25, 4.74, 4.14, 4.53, 4.23, 4.59, 4.05, 4.04, 3.81, 4.21, 4.27, 3.91, 4.12, 4.21, 4.11, 3.91, 3.62, 3.28, 3.03, 2.94, 2.84, 2.98, 3.56, 3.5, 3.61, 3.8, 3.55, 3.17, 3.16, 3.04, 2.96, 2.57, 2.7, 2.43, 2.5, 2.5, 2.12, 1.91, 1.82, 1.86, 1.8, 2.13, 2.36, 2.0, 2.03, 2.2, 2.08, 2.13, 2.1, 2.27, 2.2, 2.2, 2.28, 2.21, 2.25, 2.29, 2.23, 2.27, 2.02, 1.96, 1.99, 2.18, 2.1, 2.21, 2.16, 2.38, 2.67, 2.78, 2.66, 2.74, 2.69, 2.52, 2.38, 2.15, 2.26, 2.29, 2.0, 2.25, 2.02, 2.07, 2.01, 2.14, 2.35, 2.2, 2.19, 2.15, 2.21, 2.27, 2.36, 2.41, 2.36, 2.11, 2.15, 2.28, 2.42, 2.37, 2.2, 2.12, 2.03, 2.02, 2.12, 2.22, 2.09, 2.18, 2.01, 2.07, 2.3, 2.16, 2.14, 2.14, 2.32, 2.31, 2.4, 2.52, 2.48, 2.76, 2.97, 2.96, 2.67, 3.02, 3.14, 3.17, 3.56, 3.37, 3.19, 3.05, 3.02, 3.16, 3.43, 3.53, 3.44, 3.68, 3.75, 3.61, 3.63, 3.44, 3.57, 3.56, 3.31, 3.36, 3.33, 3.53, 3.51, 3.47, 3.41, 3.51, 3.61, 3.82, 4.26, 4.32, 4.31, 4.01, 3.93, 4.22, 4.35, 4.38, 4.24, 4.01, 4.14, 4.39, 4.5, 4.34, 4.26, 4.53, 4.71, 4.7, 4.54, 4.73, 4.56, 4.48, 4.65, 4.63, 4.61, 4.75, 4.82, 4.7, 4.47, 4.26, 4.13, 4.08, 3.85, 3.87, 3.62, 3.55, 3.66, 3.64, 3.62, 3.72, 3.87, 3.91, 3.78, 3.55, 3.43, 3.36, 3.48, 3.49, 3.56, 3.55, 3.86, 3.92, 4.0, 4.17, 4.08, 3.55, 3.59, 3.77, 3.8, 3.77, 3.71, 3.66, 3.66, 3.74, 3.76, 3.75, 3.71, 3.7, 3.68, 3.59, 3.59, 3.68, 3.69, 3.55, 3.56, 3.52, 3.52, 3.7, 4.0, 4.02, 4.06, 4.23, 4.47, 4.36, 4.22, 4.28, 4.53, 4.53, 5.19, 5.2, 5.38, 5.68, 5.72, 5.88, 5.69, 5.67, 5.7, 5.81, 6.08, 6.02, 5.66, 5.83, 5.94, 5.78, 5.66, 5.39, 5.31, 5.54, 5.64, 5.54, 5.51, 5.88, 6.14, 6.08, 6.25, 6.19, 5.74, 5.87, 5.98, 5.77, 5.83, 5.6, 5.42, 5.15, 4.85, 4.93, 4.6, 4.6, 4.64, 4.69, 4.83, 5.04, 5.21, 5.14, 5.32, 6.48, 6.53, 6.43, 6.62, 7.32, 7.05, 6.95, 7.0, 6.95, 7.11, 6.85, 7.01, 7.2, 7.3, 8.03, 7.86, 8.52, 8.67, 8.71, 8.58, 8.64, 8.68, 8.82, 9.15, 9.12, 9.05, 9.53, 9.43, 9.67, 9.91, 9.83, 9.75, 9.72, 9.68, 9.7, 9.71, 9.57, 9.47, 9.43, 9.14, 8.65, 9.15, 9.0, 8.84, 9.01, 8.87, 8.99, 7.88, 8.07, 8.09, 8.19, 7.88, 7.46, 7.98, 7.91, 7.81, 7.19, 7.35, 7.42, 7.54, 7.64, 7.84, 7.87, 8.06, 8.03, 7.95, 7.93, 7.9, 7.79, 8.05, 7.89, 7.91, 8.21, 8.38, 8.35, 8.5, 8.61, 8.64, 8.63, 8.92, 8.95, 8.93, 8.92, 9.4, 9.67, 9.39, 9.11, 9.31, 9.45, 9.23, 9.03, 9.02, 9.11, 9.27, 9.27, 9.37, 9.53, 9.35, 9.66, 9.42, 9.3, 9.42, 9.56, 9.89, 10.16, 9.81, 9.58, 9.77, 9.78, 9.86, 9.76, 9.97, 9.58, 9.55, 9.72, 9.07, 9.29, 8.68, 8.58, 8.27, 8.38, 8.99, 9.07, 9.49, 9.42, 8.8, 8.85, 8.42, 8.47, 8.09, 8.4, 8.09, 8.15, 8.22, 8.8, 8.57, 8.14, 8.54, 8.69, 8.11, 7.71, 7.77, 7.61, 8.01, 8.12, 8.28, 8.82, 8.9, 8.91, 8.83, 8.8, 8.58, 8.56, 8.13, 8.09, 8.05, 7.48, 7.32, 7.39, 7.17, 7.04, 7.39, 7.37, 7.34, 7.36, 7.52, 7.44, 7.41, 7.37, 7.44, 7.6, 7.4, 7.61, 7.82, 8.07, 8.21, 7.98, 7.78, 7.49, 7.65, 7.51, 7.52, 7.5, 7.45, 7.42, 6.83, 6.49, 6.57, 6.49, 6.62, 6.63, 6.57, 6.42, 6.25, 6.14, 5.99, 6.13, 5.87, 6.08, 5.78, 5.61, 5.76, 5.93, 6.09, 5.95, 5.83, 5.86, 5.81, 6.18, 6.27, 6.22, 6.15, 6.12, 6.09, 6.17, 6.26, 6.4, 6.84, 7.02, 6.95, 7.28, 7.11, 7.05, 6.94, 6.98, 6.86, 6.87, 7.05, 7.24, 7.3, 7.22, 7.14, 7.12, 6.96, 6.95, 6.82, 6.89, 6.89, 7.26, 7.2, 7.35, 7.63, 7.34, 7.36, 7.54, 7.64, 8.0, 8.04, 8.14, 7.91, 7.75, 7.63, 7.63, 7.57, 7.43, 7.33, 7.35, 7.47, 7.41, 7.32, 7.62, 7.55, 7.38, 7.29, 7.51, 7.54, 7.65, 7.82, 8.02, 8.17, 7.95, 8.07, 8.23, 8.05, 8.02, 8.03, 8.1, 8.24, 8.14, 8.11, 8.04, 8.05, 8.09, 8.08, 8.14, 8.18, 8.47, 8.77, 8.91, 8.69, 8.83, 9.19, 8.36, 8.39, 8.26, 8.2, 8.1, 7.93, 8.02, 7.54, 7.68, 7.48, 7.49, 7.75, 7.49, 7.83, 8.22, 8.29, 8.33, 8.4, 8.33, 8.24, 8.23, 8.22, 8.28, 8.63, 8.6, 8.99, 9.44, 9.18, 8.85, 8.55, 9.1, 9.29, 9.21, 9.03, 9.17, 9.28, 9.23, 8.84, 8.99, 8.67, 8.42, 8.65, 8.43, 8.28, 8.12, 8.31, 8.55, 8.55, 8.36, 8.59, 8.83, 8.88, 8.69, 8.68, 8.79, 8.6, 8.36, 8.1, 8.11, 8.43, 8.41, 8.47, 8.42, 8.26, 8.2, 8.19, 8.27, 8.2, 8.27, 8.63, 8.71, 8.7, 8.88, 8.95, 9.07, 9.1, 9.03, 8.8, 8.79, 8.87, 8.92, 8.94, 8.94, 8.88, 8.93, 8.9, 8.67, 8.54, 8.67, 8.64, 8.62, 8.49, 8.39, 8.43, 8.48, 8.49, 8.68, 8.37, 8.24, 7.97, 7.8, 7.71, 7.62, 7.64, 7.59, 7.54, 7.67, 7.5, 7.19, 7.0, 6.89, 7.22, 7.06, 7.06, 6.9, 6.92, 6.95, 6.89, 6.99, 7.11, 7.14, 7.0, 7.15, 6.95, 6.76, 6.43, 6.48, 6.44, 6.43, 6.18, 6.48, 6.6, 6.5, 7.75, 7.63, 7.66, 7.51, 7.42, 7.34, 7.22, 7.11, 7.16, 6.5, 6.56, 5.94, 6.18, 5.85, 6.17, 6.21, 6.43, 6.34, 6.14, 5.79, 5.98, 6.05, 6.5, 6.34, 6.37, 6.49, 6.83, 6.84, 6.83, 6.68, 6.32, 6.27, 6.76, 6.81, 6.52, 6.71, 6.96, 7.21, 7.34, 7.2, 6.92, 6.74, 6.48, 6.12, 6.17, 6.4, 6.49, 6.15, 5.31, 5.08, 4.53, 4.72, 4.83, 4.85, 4.73, 4.84, 4.86, 4.93, 4.97, 4.92, 4.67, 4.83, 4.73, 4.54, 4.72, 5.06, 4.91, 5.1, 5.54, 5.94, 5.83, 5.3, 5.46, 5.73, 5.67, 5.68, 5.75, 5.38, 5.66, 5.95, 5.79, 5.76, 5.68, 5.44, 5.47, 5.42, 5.3, 5.05, 4.99, 5.3, 5.32, 5.69, 5.7, 5.65, 5.76, 5.66, 5.72, 5.47, 5.54, 5.3, 5.18, 5.07, 5.04, 5.13, 4.86, 5.19, 5.08, 5.45, 5.41, 5.38, 5.28, 5.34, 5.4, 5.48, 5.46, 5.46, 5.43, 5.59, 5.71, 5.81, 5.82, 5.66, 5.73, 5.97, 6.22, 6.42, 6.52, 6.53, 6.73, 6.77, 6.82, 6.74, 6.71, 6.9, 6.93, 7.08, 6.92, 7.13, 7.25, 7.24, 7.05, 7.29, 7.32, 7.3, 7.59, 7.42, 7.28, 7.14, 7.29, 7.46, 7.47, 7.52, 7.35, 7.51, 7.46, 7.07, 6.9, 7.17, 7.47, 7.58, 7.5, 7.76, 7.76, 8.25, 8.2, 8.18, 8.06, 8.04, 8.03, 8.09, 8.24, 8.19, 8.08, 8.12, 8.02, 8.2, 7.98, 7.81, 7.87, 7.75, 7.53, 7.64, 7.92, 7.73, 7.7, 7.94, 7.97, 7.97, 7.76, 7.39, 7.31, 7.39, 7.45, 7.33, 7.36, 7.59, 7.63, 7.41, 7.18, 7.18, 7.03, 6.86, 6.78, 6.78, 6.75, 6.6, 6.39, 6.13, 6.01, 6.3, 6.16, 6.08, 6.02, 6.22, 6.46, 6.15, 6.08, 5.73, 5.63, 5.83, 6.02, 5.76, 5.91, 5.69, 5.91, 5.76, 5.76, 5.87, 5.93, 5.81, 6.06, 5.72, 5.73, 5.41, 5.44, 5.5, 5.41, 5.73, 5.75, 6.03, 5.88, 5.75, 5.62, 4.99, 4.89, 4.88, 4.9, 4.83, 4.87, 4.89, 4.86, 4.22, 4.15, 4.06, 4.01, 4.04, 4.09, 4.1, 4.06, 4.05, 3.97, 4.09, 4.01, 4.02, 4.4, 4.37, 4.34, 4.26, 4.12, 4.19, 4.17, 4.1, 4.09, 4.07, 4.01, 3.9, 3.94, 3.85, 3.79, 3.77, 3.7, 3.72, 3.64, 3.51, 3.66, 3.45, 3.47, 3.75, 3.89, 3.92, 3.9, 4.01, 3.62, 3.66, 3.59, 3.6, 3.46, 3.28, 3.32, 3.43, 3.37, 3.28, 3.27, 3.12, 3.22, 3.22, 3.19, 3.25, 3.15, 3.2, 2.74, 2.75, 2.68, 2.77, 2.62, 2.18, 2.1, 2.14, 2.08, 2.12, 2.07, 2.05, 2.14, 2.1, 2.11, 2.07, 2.01, 1.98, 2.03, 1.99, 2.09, 1.93, 1.87, 1.86, 1.92, 1.88, 1.87, 1.95, 1.87, 1.88, 1.96, 2.04, 2.2, 2.36, 2.26, 2.29, 2.34, 2.36, 2.32, 2.33, 2.37, 2.41, 2.39, 2.46, 2.52, 2.52, 2.4, 2.59, 2.48, 2.43, 2.39, 2.28, 2.4, 2.53, 2.49, 2.59, 2.67, 2.67, 2.63, 2.62, 2.67, 2.64, 2.68, 2.72, 2.74, 2.46, 2.45, 2.73, 2.79, 2.85, 2.82, 2.74, 2.65, 2.6, 2.6, 2.52, 2.6, 2.6, 2.57, 2.59, 2.67, 2.77, 2.75, 2.75, 2.71, 2.82, 2.7, 2.6, 2.61, 2.53, 2.46, 2.53, 2.49, 2.42, 2.4, 2.43, 2.43, 2.55, 2.56, 2.59, 2.61, 2.6, 2.63, 2.6, 2.65, 2.67, 2.75, 2.64, 2.54, 2.51, 2.54, 2.55, 2.55, 2.44, 2.39, 2.32, 2.33, 2.29, 2.59, 2.63, 2.61, 2.52, 2.48, 2.4, 2.44, 2.4, 2.51, 2.47, 2.46, 2.53, 2.61, 2.68, 2.64, 2.68, 2.82, 3.22, 3.41, 3.6, 3.61, 3.54, 3.83, 3.86, 3.95, 4.17, 4.26, 4.38, 3.83, 4.07, 4.1, 4.02, 3.96, 4.01, 4.05, 4.05, 3.98, 4.04, 4.0, 3.96, 4.01, 3.91, 3.94, 3.91, 4.06, 3.96, 3.9, 3.95, 3.94, 4.05, 4.09, 4.07, 3.87, 4.0, 4.05, 4.15, 4.14, 4.08, 4.08, 4.1, 3.97, 4.06, 4.07, 4.0, 4.05, 3.98, 4.45, 4.32, 4.4, 4.43, 4.38, 4.64, 4.03, 3.9, 3.66, 3.63, 3.7, 3.82, 3.75, 3.82, 3.77, 3.81, 3.8, 3.82, 3.72, 3.69, 3.71, 3.65, 3.65, 3.69, 3.82, 3.69, 3.66, 3.6, 3.63, 3.61, 3.63, 3.65, 3.58, 3.39, 3.42, 3.38, 3.27, 3.27, 3.31, 3.41, 3.57, 3.69, 3.87, 3.82, 3.75, 3.83, 3.82, 3.85, 3.93, 3.95, 3.83, 3.79, 3.8, 3.91, 3.89, 3.86, 3.81, 3.86, 3.9, 3.9, 3.91, 3.86, 3.72, 3.65, 3.79, 3.83, 3.97, 4.02, 4.09, 4.09, 3.53, 3.37, 3.18, 3.14, 3.23, 3.34, 3.32, 3.33, 3.3, 3.34, 3.31, 3.32, 3.33, 3.32, 3.28, 3.27, 3.34, 3.44, 3.54, 3.52, 3.5, 3.47, 3.42, 3.42, 3.37, 3.34, 3.39, 3.45, 3.56, 3.64, 3.66, 3.62, 3.57, 3.64, 3.66, 3.63, 3.72, 3.68, 3.69, 3.69, 3.59, 3.65, 3.65, 3.65, 3.69, 3.75, 3.77, 3.8, 3.78, 3.85, 3.87, 3.95, 4.0, 4.13, 4.18, 4.18, 4.09, 4.17, 4.13, 4.3, 4.47, 4.38, 4.18, 4.17, 3.67, 3.62, 3.47, 3.41, 3.54, 3.48, 3.48, 3.43, 3.33, 3.37, 3.31, 3.41, 3.47, 3.63, 3.7, 3.69, 3.7, 3.69, 3.7, 3.72, 3.69, 3.69, 3.71, 3.69, 3.7, 3.71, 3.71, 3.67, 3.7, 3.71, 3.73, 3.95, 3.81, 3.85, 3.91, 3.86, 3.85, 3.8, 3.89, 3.98, 4.05, 4.04, 4.05, 4.05, 4.05, 3.91, 3.88, 4.01, 4.07, 4.06, 4.0, 4.01, 3.88, 3.99, 3.98, 3.85, 3.65, 3.71, 3.79, 3.76, 3.69, 4.12, 4.3, 4.25, 4.28, 4.05, 3.96, 4.03, 4.09, 4.2, 4.12, 4.09, 4.01, 3.97, 3.93, 3.87, 3.97, 4.03, 3.98, 3.96, 4.02, 4.09, 4.05, 4.1, 4.01, 4.02, 4.04, 4.0, 4.03, 4.0, 3.97, 3.94, 4.04, 4.08, 4.06, 4.07, 4.2, 4.29, 4.29, 4.28, 4.44, 4.47, 4.4, 4.36, 4.1, 4.01, 3.94, 3.96, 4.03, 4.11, 4.19, 4.22, 4.34, 4.24, 4.26, 4.22, 4.23, 4.29, 4.37, 4.64, 4.53, 4.66, 4.57, 3.83, 3.78, 3.8, 3.76, 3.73, 3.76, 3.73, 3.79, 3.82, 3.91, 3.97, 4.0, 4.08, 4.12, 4.1, 4.12, 4.14, 4.08, 4.11, 4.08, 4.13, 4.21, 4.27, 4.28, 4.24, 4.25, 4.18, 4.19, 4.16, 4.14, 4.17, 4.16, 4.19, 4.15, 4.15, 4.13, 4.08, 4.08, 4.08, 3.96, 3.91, 3.81, 3.82, 3.88, 3.81, 3.76, 3.69, 3.7, 3.63, 3.6, 3.55, 3.41, 3.35, 3.39, 3.4, 3.36, 3.28, 3.28, 2.95, 2.72, 2.74, 2.62, 2.61, 2.64, 2.72, 2.67, 2.77, 2.64, 2.69, 2.68, 2.66, 2.72, 2.77, 2.75, 2.8, 2.87, 2.83, 2.8, 2.76, 2.78, 2.76, 2.73, 2.71, 2.66, 2.61, 2.67, 2.65, 2.63, 2.69, 2.77, 2.83, 2.83, 2.84, 2.79, 2.67, 2.68, 2.74, 2.69, 2.66, 2.58, 2.59, 2.48, 2.49, 2.52, 2.47, 2.5, 2.55, 2.55, 2.57, 2.66, 2.67, 2.65, 2.65, 2.66, 2.63, 2.67, 2.67, 2.66, 2.63, 2.58, 2.61, 2.63, 2.63, 2.66, 2.63, 2.52, 2.39, 2.24, 2.45, 2.47, 2.45, 2.61, 2.7, 2.63, 2.61, 2.57, 2.67, 2.76, 2.85, 3.31, 3.03, 3.04, 3.04, 3.07, 3.12, 3.15, 3.11, 3.08, 3.06, 3.06, 3.06, 3.11, 3.1, 3.08, 3.11, 3.21, 3.14, 3.05, 2.98, 2.92, 2.93, 2.92, 2.84, 2.76, 2.75, 2.76, 2.77, 2.75, 2.74, 2.8, 2.84, 2.79, 2.63, 2.65, 2.72, 2.7, 2.68, 2.69, 2.69, 2.7, 2.7, 2.71, 2.72, 2.76, 2.78, 2.67, 2.7, 2.87, 2.58, 2.49, 2.35, 2.28, 2.33, 2.3, 2.34, 2.31, 2.28, 2.26, 2.31, 2.31, 2.28, 2.29, 2.32, 2.31, 2.32, 2.35, 2.37, 2.33, 2.32, 2.35, 2.28, 2.32, 2.28, 2.28, 2.22, 2.28, 2.27, 2.28, 2.25, 2.3, 2.28, 2.33, 2.33, 2.31, 2.29, 2.32, 2.32, 2.31, 2.32, 2.35, 2.47, 2.52, 2.58, 2.62, 2.61, 2.62, 2.58, 2.47, 2.34, 2.4, 2.42, 2.53, 2.47, 2.09, 2.01, 1.98, 1.96, 1.96, 2.05, 1.96, 1.87, 1.79, 1.8, 1.8, 1.79, 1.76, 1.67, 1.62, 1.77, 1.96, 1.93, 1.93, 2.2, 2.13, 2.16, 2.11, 2.09, 1.93, 1.9, 1.9, 1.79, 1.84, 1.8, 1.8, 1.8, 1.7, 1.78, 1.75, 1.66, 1.72, 1.78, 1.85, 1.81, 1.71, 1.77, 1.79, 1.82, 1.88, 1.85, 1.84, 2.01, 1.82, 1.86, 1.89, 1.89, 1.87, 1.81, 1.73, 1.7, 1.72, 1.71, 1.66, 1.67, 1.72, 1.74, 1.83, 1.8, 1.83, 1.86, 1.93, 1.96, 1.87, 1.92, 1.95, 1.97, 1.94, 2.01, 2.02, 2.1, 2.14, 2.21, 2.15, 2.15, 2.18, 2.13, 2.12, 2.19, 2.28, 2.2, 2.2, 2.15, 2.11, 2.02, 2.07, 2.0, 1.99, 1.99, 1.98, 2.12, 2.14, 2.22, 2.22, 2.34, 2.38, 2.33, 2.36, 2.34, 2.27, 2.23, 2.28, 2.36, 2.39, 2.35, 2.45, 2.36, 2.34, 2.36, 2.54, 2.56, 2.45, 2.53, 2.77, 2.83, 2.92, 3.0, 3.0, 2.98, 2.87, 2.77, 2.75, 2.51, 2.28, 2.14, 2.34, 2.39, 2.25, 2.21, 2.03, 1.95, 1.8, 2.09, 2.02, 2.12, 2.07, 2.13, 2.08, 2.2, 2.14, 1.99, 2.07, 2.09, 1.98, 1.93, 1.9, 1.84, 1.86, 1.83, 1.83, 1.9, 1.91, 1.91, 2.01, 1.97, 2.02, 2.03, 2.07, 2.14, 2.18, 2.32, 2.46, 2.37, 2.47, 2.3, 2.26, 2.26, 2.52, 2.72, 2.49, 2.63, 2.8, 2.93, 2.8, 2.79, 2.68, 2.79, 2.78, 2.86, 2.86, 2.85, 2.83, 2.83, 2.76, 2.8, 2.64, 2.74, 2.76, 2.81, 2.8, 2.72, 2.7, 2.76, 2.62, 2.7, 2.62, 3.99, 3.45, 3.66, 3.73, 3.61, 3.55, 3.74, 3.6, 3.6, 3.66, 3.68, 3.65, 3.64, 3.65, 3.59, 3.67, 3.79, 3.79, 3.84, 3.77, 3.87, 4.04, 4.2, 4.18, 4.35, 4.6, 4.57, 4.43, 4.24, 4.16, 4.47, 4.51, 4.46, 4.52, 4.32, 4.4, 4.39, 4.42, 4.75, 5.26, 5.1, 5.45, 5.02, 5.21, 4.88, 4.72, 5.12, 5.13, 5.14, 5.07, 4.96, 5.04, 5.02, 5.1, 5.01, 5.14, 5.09, 5.17, 5.14, 5.51, 5.41, 5.41, 5.22, 5.84, 6.7, 6.98, 6.85, 6.82, 6.86, 6.64, 6.26, 6.3, 6.47, 6.61, 6.68, 6.6, 6.49, 6.58, 6.73, 6.95, 6.78, 6.68, 7.04, 7.62, 7.58, 7.67, 7.43, 7.47, 7.67, 7.59, 7.49, 7.4, 7.35, 7.51, 7.34, 6.84, 6.23, 5.9, 5.94, 5.74, 6.04, 6.02, 6.05, 6.16, 6.17, 6.29, 6.37, 6.55, 6.32, 6.54, 6.59, 6.67, 6.91, 6.95, 6.97, 6.78, 6.96, 6.75, 6.84, 6.5, 6.62, 6.49, 6.75, 6.67, 6.73, 6.77, 6.96, 6.52, 7.01, 7.5, 7.29, 7.11, 7.2, 7.23, 7.09, 6.76, 6.7, 6.56, 6.96, 7.0, 6.94, 6.3, 6.69, 6.79, 6.97, 7.67, 8.46, 8.71, 8.94, 8.69, 8.8, 8.77, 8.83, 8.93, 8.91, 8.39, 8.53, 8.68, 9.45, 9.56, 10.34, 10.34, 10.68, 10.54, 10.55, 10.86, 10.66, 10.95, 11.51, 11.47, 11.6, 11.58, 12.07, 11.55, 11.59, 11.34, 11.43, 11.43, 11.24, 11.32, 11.49, 11.44, 11.2, 10.76, 10.58, 9.82, 9.88, 9.77, 9.75, 9.91, 10.44, 10.35, 10.52, 10.67, 10.61, 10.37, 12.06, 12.28, 12.24, 13.63, 13.29, 13.56, 13.42, 13.58, 13.49, 13.26, 13.3, 12.97, 13.13, 14.0, 14.28, 14.32, 14.12, 15.2, 14.46, 14.96, 13.9, 13.03, 13.04, 13.05, 13.22, 13.33, 13.91, 14.28, 14.1, 13.98, 13.65, 13.49, 14.4, 13.82, 14.1, 13.79, 13.7, 13.7, 13.69, 13.71, 14.05, 14.55, 14.64, 14.16, 14.17, 13.27, 13.52, 13.1, 13.1, 12.76, 12.31, 12.79, 12.95, 12.84, 13.11, 13.0, 13.13, 13.49, 13.41, 13.62, 13.3, 13.62, 10.32, 10.39, 10.1, 10.19, 10.04, 10.18, 10.79, 11.07, 11.26, 11.42, 12.75, 11.2, 11.28, 11.41, 11.04, 10.89, 10.89, 10.98, 11.0, 11.12, 11.19, 10.93, 10.9, 11.24, 12.03, 12.38, 12.9, 12.28, 12.09, 11.96, 11.77, 11.5, 11.44, 11.93, 12.64, 13.98, 14.38, 14.17, 14.08, 13.4, 13.23, 12.6, 12.48, 12.15, 13.19, 13.02, 13.36, 13.81, 13.89, 14.29, 13.53, 13.92, 13.8, 13.48, 13.55, 13.8, 13.88, 14.16, 14.11, 14.76, 14.12, 13.95, 13.61, 13.71, 13.37, 13.24, 13.12, 13.43, 13.11, 12.83, 12.12, 12.23, 12.76, 13.02, 12.63, 12.34, 12.37, 12.05, 12.17, 12.48, 12.5, 12.43, 12.23, 12.15, 12.67, 13.0, 13.19, 12.92, 12.86, 12.63, 12.25, 12.55, 12.3, 12.22, 12.26, 12.52, 13.08, 13.12, 13.74, 13.41, 13.3, 12.61, 12.45, 12.74, 12.74, 12.75, 12.71, 13.42, 13.31, 13.34, 13.23, 13.47, 13.7, 13.88, 14.2, 14.22, 14.26, 14.16, 14.07, 13.95, 13.81, 14.1, 14.25, 12.33, 12.01, 11.84, 10.89, 10.99, 10.8, 10.85, 11.12, 11.93, 12.05, 11.71, 11.12, 11.26, 11.09, 11.12, 11.07, 11.25, 11.38, 11.34, 11.4, 11.37, 11.38, 11.55, 11.17, 10.83, 10.89, 10.73, 10.03, 9.91, 10.0, 10.04, 9.94, 10.16, 9.9, 10.11, 10.13, 10.29, 10.98, 10.95, 10.98, 10.89, 10.54, 10.46, 10.53, 10.55, 10.28, 10.98, 11.55, 12.12, 11.88, 12.28, 11.82, 11.96, 12.14, 12.02, 11.91, 12.18, 12.47, 12.59, 12.65, 12.94, 12.71, 12.41, 12.95, 13.32, 12.87, 13.74, 13.25, 12.45, 11.57, 11.65, 11.6, 11.22, 11.31, 11.68, 11.78, 12.2, 12.19, 11.82, 12.02, 11.72, 11.84, 12.07, 12.42, 12.53, 12.11, 11.9, 11.81, 11.91, 11.76, 12.24, 11.97, 11.7, 11.52, 11.64, 11.36, 11.46, 11.47, 11.43, 11.11, 11.26, 10.91, 10.63, 10.44, 10.0, 9.81, 10.05, 9.53, 9.55, 9.77, 10.02, 9.61, 9.53, 9.98, 9.82, 10.08, 9.93, 10.09, 10.52, 10.36, 10.11, 9.99, 10.04, 10.09, 9.71, 11.04, 11.11, 10.88, 11.13, 10.97, 10.93, 11.28, 11.59, 11.61, 11.95, 12.13, 11.95, 12.23, 12.45, 12.82, 12.82, 13.0, 12.99, 12.98, 13.1, 13.41, 13.54, 13.36, 13.82, 13.73, 14.4, 14.85, 14.85, 15.67, 14.89, 15.25, 15.73, 15.85, 16.32, 16.25, 16.34, 17.11, 16.69, 16.52, 15.65, 15.8, 15.11, 15.5, 14.97, 15.31, 14.99, 15.16, 15.0, 15.5, 16.36, 16.61, 16.55, 16.27, 16.56, 16.27, 16.58, 16.87, 16.85, 16.71, 16.5, 16.66, 16.19, 16.05, 16.85, 17.2, 16.93, 16.65]\n"
          ]
        }
      ],
      "execution_count": 23,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "plt.hist(final_list, 20,\n",
        "         density=True,\n",
        "         histtype='bar',\n",
        "         facecolor='b',\n",
        "         edgecolor='k',\n",
        "         alpha=0.5)\n",
        "plt.title('Empirical rule')\n",
        "plt.xlabel('Number of Sample')\n",
        "plt.ylabel('Probability')\n",
        "plt.show()"
      ],
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 24,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "mean = sample.mean()\n",
        "median = sample.median()\n",
        "mode = sample.mode()\n",
        "\n",
        "print('Mean: ',mean,'\\nMedian: ',median,'\\nMode: ',mode[0])\n",
        "plt.figure(figsize=(10,5))\n",
        "plt.hist(sample,bins=100,color='grey')\n",
        "plt.axvline(mean,color='red',label='Mean')\n",
        "plt.axvline(median,color='yellow',label='Median')\n",
        "plt.axvline(mode[0],color='green',label='Mode')\n",
        "plt.xlabel('Sample')\n",
        "plt.ylabel('Frequency')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Mean:  7.307850993377494 \n",
            "Median:  6.12 \n",
            "Mode:  2.28\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 720x360 with 1 Axes>"
            ],
            "image/png": [
              "iVBORw0KGgoAAAANSUhEUgAAAmgAAAFACAYAAAAI+ICPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3X+01XWd7/HnW6T4oV0Vjw4DGtZ1aExPBwSGuzQ7ofmD4VpNmrBKKRqxtHt1Na6pKQFx5crVreznmHjjRmVkiaV31BnJmTOakxYqIoZmNScluYLH1DAswff943zP6QAH2AfO3vu7z34+1tprf7+f74/93l93nFef7+f7/UZmIkmSpPLYr94FSJIkaXsGNEmSpJIxoEmSJJWMAU2SJKlkDGiSJEklY0CTJEkqGQOaJElSyRjQJEmSSsaAJkmSVDL717uAfXHooYfmhAkT6l0GAI91PQbAxDET61xJPTxWvA/Cd3+s2NfEZjyOkqSh7P77738mM1sqWbehA9qECRNYtWpVvcsAoP3r7QB0vK+jrnXUR3vx3jEIuyr21TEI+5IkqUQi4teVruspTkmSpJIxoEmSJJWMAU2SJKlkGnoMmiRJqo+XX36Z9evX89JLL9W7lNIZMWIE48ePZ/jw4Xu9DwOaJEkasPXr13PggQcyYcIEIqLe5ZRGZtLV1cX69es56qij9no/nuKUJEkD9tJLLzFmzBjD2Q4igjFjxuxzz6IBTZIk7RXDWf8G47gY0CRJkkrGgCZJkhpSRHDuuef2zm/dupWWlhZmzZpVx6oGhwFNkiQ1pNGjR7N27Vq2bNkCwMqVKxk3blydqxocBjRJktSwzjjjDG699VYAli9fzpw5c3qXvfjii8ybN4+pU6cyadIkbr75ZgA6Ozt585vfzOTJk5k8eTL/8R//AUBHRwft7e2cddZZvOENb+A973kPmVn7L0UVb7MREUcA3wD+DHgFWJKZX4iIQ4AbgAlAJ/DuzPxtdI+o+wIwE/g98L7MfKBa9TWqxYsX79S2aNGiOlQiSVLhkktg9erB3WdbG3z+83tcbfbs2VxxxRXMmjWLNWvWMG/ePO6++24ArrzySmbMmMHSpUt57rnnmDZtGqeccgqHHXYYK1euZMSIETz++OPMmTOn99neDz74II888gh//ud/zgknnMA999zDiSeeOLjfrQLV7EHbCvxdZv4lMB24KCKOAT4G3JmZRwN3FvMAZwBHF6/5wDVVrE2SJA0Bra2tdHZ2snz5cmbOnLndsjvuuIOrrrqKtrY22tvbeemll3jiiSd4+eWXOf/88znuuOM4++yz+dnPfta7zbRp0xg/fjz77bcfbW1tdHZ21vgbdataD1pmbgA2FNO/i4h1wDjg7UB7sdoyoAP4aNH+jezuS7w3Ig6KiLHFfiRJUllV0NNVTWeeeSaXXnopHR0ddHV19bZnJitWrGDixInbrX/55Zdz+OGH89BDD/HKK68wYsSI3mWvfvWre6eHDRvG1q1bq/8F+lGTMWgRMQGYBNwHHN4Tuor3w4rVxgFP9tlsfdEmSZK0S/PmzWPhwoUcd9xx27WfdtppfOlLX+odR/bggw8C8PzzzzN27Fj2228/vvnNb7Jt27aa17wnVQ9oEXEAsAK4JDNf2N2q/bTtNDIvIuZHxKqIWLVp06bBKlOSJDWo8ePHc/HFF+/UvmDBAl5++WVaW1s59thjWbBgAQAXXnghy5YtY/r06fz85z9n9OjRtS55j6r6LM6IGE53OLs+M28qmp/uOXUZEWOBjUX7euCIPpuPB57acZ+ZuQRYAjBlypT6XFohSZLqbvPmzTu1tbe3097eDsDIkSO59tprd1rn6KOPZs2aNb3zn/rUp3baFuDLX/7y4BY8AFXrQSuuyvwasC4zP9dn0S3A3GJ6LnBzn/bzott04HnHn0mSpGZUzR60E4BzgYcjoufa248DVwHfjYgPAE8AZxfLbqP7Fhu/oPs2G++vYm2SJEmlVc2rOH9E/+PKAE7uZ/0ELqpWPZIkSY3CJwlIkiSVjAFNkiSpZAxokiRJJWNAkyRJDSkiOPfcc3vnt27dSktLC7NmzRrQftrb23ufxTlz5kyee+65Qa1zb1T1Pmjy4eaSJFXL6NGjWbt2LVu2bGHkyJGsXLmSceP27SFEt9122yBVt2/sQZMkSQ3rjDPO4NZbbwVg+fLlzJkzp3fZiy++yLx585g6dSqTJk3i5pu7b726ZcsWZs+eTWtrK+eccw5btmzp3WbChAk888wzALzjHe/g+OOP541vfCNLlizpXeeAAw7gE5/4BG9605uYPn06Tz/99KB/L3vQJEnSProEWL3HtQamDdjzQ9hnz57NFVdcwaxZs1izZg3z5s3j7rvvBuDKK69kxowZLF26lOeee45p06ZxyimncO211zJq1CjWrFnDmjVrmDx5cr/7Xrp0KYcccghbtmxh6tSpvOtd72LMmDG8+OKLTJ8+nSuvvJK///u/57rrruOyyy4bzC9vD5okSWpcra2tdHZ2snz5cmbOnLndsjvuuIOrrrqKtrY22tvbeemll3jiiSe46667eO9739u7fWtra7/7/uIXv9jbS/bkk0/y+OOPA/CqV72qd5zb8ccfT2dn56B/L3vQJEnSPtpzT1c1nXnmmVx66aV0dHTQ1dXV256ZrFixgokTJ+60TfcTKXeto6ODH/7wh/z4xz9m1KhRvQEPYPjw4b3bDxs2jK1btw7it+lmD5okSWpo8+bNY+HChRx33HHbtZ922ml86UtfovthRfDggw8CcNJJJ3H99dcDsHbt2u0enN7j+eef5+CDD2bUqFE8+uij3HvvvVX+FtszoEmSpIY2fvx4Lr744p3aFyxYwMsvv0xrayvHHnssCxYsAOBDH/oQmzdvprW1lU9/+tNMmzZtp21PP/10tm7dSmtrKwsWLGD69OlV/x59eYpTkiQ1pM2bN+/U1t7eTnt7OwAjR47k2muv3WmdkSNH8p3vfKffffYdT3b77bfv8XPPOusszjrrrAFUXRl70CRJkkrGgCZJklQyBjRJkqSSMaBJkiSVjAFNkiSpZAxokiRJJWNAkyRJDSkiOPfcc3vnt27dSktLS+9jmCrV9wHpZWFAkyRJDWn06NGsXbuWLVu2ALBy5UrGjRtX56oGhwFNkiQ1rDPOOINbb70VgOXLlzNnzpzeZc8++yzveMc7aG1tZfr06b2PdOrq6uLUU09l0qRJXHDBBb2PggL41re+xbRp02hra+OCCy5g27Zttf1CBZ8kIEmS9skl/3wJq//f6kHdZ9uftfH50/f8EPbZs2dzxRVXMGvWLNasWcO8efO4++67AVi0aBGTJk3iBz/4Af/6r//Keeedx+rVq1m8eDEnnngiCxcu5NZbb2XJkiUArFu3jhtuuIF77rmH4cOHc+GFF3L99ddz3nnnDep3q4QBTZIkNazW1lY6OztZvnw5M2fO3G7Zj370I1asWAHAjBkz6Orq4vnnn+euu+7ipptuAuCv//qvOfjggwG48847uf/++5k6dSoAW7Zs4bDDDqvht/mTqgW0iFgKzAI2ZuaxRdsNwMRilYOA5zKzLSImAOuAx4pl92bmB6tVmyRJGjyV9HRV05lnnsmll15KR0cHXV1dve19T132iIjt3vvKTObOncunPvWp6hVboWqOQfs6cHrfhsw8JzPbMrMNWAHc1GfxL3uWGc4kSVKl5s2bx8KFCznuuOO2az/ppJO4/vrrAejo6ODQQw/lNa95zXbtt99+O7/97W8BOPnkk7nxxhvZuHEj0D2G7de//nUNv8mfVK0HLTPvKnrGdhLdsfXdwIxqfb4kSWoO48eP5+KLL96p/fLLL+f9738/ra2tjBo1imXLlgHdY9PmzJnD5MmTectb3sKRRx4JwDHHHMMnP/lJTj31VF555RWGDx/OV77yFV772tfW9PtA/cagvRl4OjMf79N2VEQ8CLwAXJaZd9enNEmS1Ag2b968U1t7ezvt7e0AHHLIIdx88807rTNmzBjuuOOO3vmrr766d/qcc87hnHPOGfxiB6heAW0OsLzP/AbgyMzsiojjgR9ExBsz84UdN4yI+cB8oDfxSpIkDSU1vw9aROwP/A1wQ09bZv4hM7uK6fuBXwJ/0d/2mbkkM6dk5pSWlpZalCxJklRT9ehBOwV4NDPX9zRERAvwbGZui4jXAUcDv6pDbfuk89edLF68uN5lSJJUE5nZ79WQza6/q0cHqmo9aBGxHPgxMDEi1kfEB4pFs9n+9CbAScCaiHgIuBH4YGY+W63aJEnSvhkxYgRdXV2DEkaGksykq6uLESNG7NN+qnkV55xdtL+vn7YVdN92Q5IkNYDx48ezfv16Nm3aVO9SSmfEiBGMHz9+n/bhkwQkSdKADR8+nKOOOqreZQxZBrQSczybJEnNqeZXcUqSJGn3DGiSJEklY0CTJEkqGQOaJElSyRjQJEmSSsaAJkmSVDIGNEmSpJIxoEmSJJWMAU2SJKlkDGiSJEklY0CTJEkqGQOaJElSyRjQJEmSSsaAJkmSVDIGNEmSpJIxoEmSJJWMAU2SJKlkDGiSJEklY0CTJEkqGQOaJElSyRjQJEmSSqZqAS0ilkbExohY26ft8oj4TUSsLl4z+yz7h4j4RUQ8FhGnVasuSZKksqtmD9rXgdP7ab86M9uK120AEXEMMBt4Y7HNP0bEsCrWJkmSVFpVC2iZeRfwbIWrvx34Tmb+ITP/E/gFMK1atUmSJJVZPcagfTgi1hSnQA8u2sYBT/ZZZ33RJkmS1HRqHdCuAV4PtAEbgM8W7dHPutnfDiJifkSsiohVmzZtqk6VkiRJdVTTgJaZT2fmtsx8BbiOP53GXA8c0WfV8cBTu9jHksyckplTWlpaqluwJElSHdQ0oEXE2D6z7wR6rvC8BZgdEa+OiKOAo4Gf1LI2SZKksti/WjuOiOVAO3BoRKwHFgHtEdFG9+nLTuACgMx8JCK+C/wM2ApclJnbqlWbJElSmVUtoGXmnH6av7ab9a8ErqxWPZIkSY3CJwlIkiSVjAFNkiSpZAxokiRJJWNAkyRJKhkDmiRJUskY0CRJkkrGgCZJklQyBjRJkqSSMaBJkiSVjAFNkiSpZAxokiRJJWNAkyRJKhkDmiRJUskY0CRJkkrGgCZJklQyBjRJkqSS2b/eBTSqxYsXbzffSWd9CpEkSUOOPWiSJEklY0CTJEkqGQOaJElSyRjQJEmSSsaAJkmSVDIGNEmSpJKpWkCLiKURsTEi1vZp+18R8WhErImI70fEQUX7hIjYEhGri9dXq1WXJElS2VWzB+3rwOk7tK0Ejs3MVuDnwD/0WfbLzGwrXh+sYl2SJEmlVrWAlpl3Ac/u0HZHZm4tZu8Fxlfr8yVJkhpVRQEtIo6twmfPA27vM39URDwYEf8eEW/eTS3zI2JVRKzatGlTFcqSJEmqr0p70L4aET+JiAt7xo3ti4j4BLAVuL5o2gAcmZmTgI8A346I1/S3bWYuycwpmTmlpaVlX0uRJEkqnYoCWmaeCLwHOAJYFRHfjoi37c0HRsRcYBbwnszMYv9/yMyuYvp+4JfAX+zN/iVJkhpdxWPQMvNx4DLgo8BbgC8WV2T+TaX7iIjTi+3PzMzf92lviYhhxfTrgKOBX1W6X0mSpKGk0jForRFxNbAOmAH898z8y2L66l1ssxz4MTAxItZHxAeALwMHAit3uJ3GScCaiHgIuBH4YGY+299+JUmShrr9K1zvy8B1wMczc0tPY2Y+FRGX9bdBZs7pp/lru1h3BbCiwlokSZKGtEoD2kxgS2ZuA4iI/YARmfn7zPxm1aqTJElqQpWOQfshMLLP/KiiTZIkSYOs0oA2IjM398wU06OqU5IkSVJzqzSgvRgRk3tmIuJ4YMtu1pckSdJeqnQM2iXA9yLiqWJ+LHBOdUqSJElqbhUFtMz8aUS8AZgIBPBoZr5c1cokSZKaVKU9aABTgQnFNpMigsz8RlWqkiRJamIVBbSI+CbwemA1sK1oTsCAJkmSNMgq7UGbAhzT8+xMSZIkVU+lV3GuBf6smoVIkiSpW6U9aIcCP4uInwB/6GnMzDOrUpUkSVITqzSgXV7NIiRJkvQnld5m498j4rXA0Zn5w4gYBQyrbmmSJEnNqaIxaBFxPnAjcG3RNA74QbWKkiRJamaVnuK8CJgG3AeQmY9HxGFVq0oDsnjx4p3aFi1aVIdKJEnSYKj0Ks4/ZOYfe2YiYn+674MmSZKkQVZpQPv3iPg4MDIi3gZ8D/i/1StLkiSpeVUa0D4GbAIeBi4AbgMuq1ZRkiRJzazSqzhfAa4rXpIkSaqiSp/F+Z/0M+YsM1836BVJkiQ1uYE8i7PHCOBs4JDBL0eSJEkVjUHLzK4+r99k5ueBGVWuTZIkqSlVeopzcp/Z/ejuUTuwKhVJkiQ1uUpPcX62z/RWoBN49542ioilwCxgY2YeW7QdAtwATOjZT2b+NiIC+AIwE/g98L7MfKDC+iRJkoaMSk9xvrXP622ZeX5mPlbBpl8HTt+h7WPAnZl5NHBnMQ9wBnB08ZoPXFNJbZIkSUNNpac4P7K75Zn5uV203xURE3ZofjvQXkwvAzqAjxbt38jMBO6NiIMiYmxmbqikRkmSpKGi0hvVTgE+RPdD0scBHwSOoXsc2kDHoh3eE7qK955neo4Dnuyz3vqibTsRMT8iVkXEqk2bNg3woyVJksqv0jFohwKTM/N3ABFxOfC9zPzbQawl+mnr795rS4AlAFOmTPF5oJIkaciptAftSOCPfeb/SPcg/73xdESMBSjeNxbt64Ej+qw3HnhqLz9DkiSpYVUa0L4J/CQiLo+IRcB9wDf28jNvAeYW03OBm/u0nxfdpgPPO/5MkiQ1o0qfxXllRNwOvLloen9mPrin7SJiOd0XBBwaEeuBRcBVwHcj4gPAE3Q/lQC6H8A+E/gF3bfZeP8AvockSdKQUekYNIBRwAuZ+X8ioiUijsrM/9zdBpk5ZxeLTu5n3QQuGkA9kiRJQ1JFpziL05ofBf6haBoOfKtaRUmSJDWzSnvQ3glMAh4AyMynIsJHPWnQdXZ2ArBs8eLetkWLFtWpGkmS6qPSiwT+WJyCTICIGF29kiRJkppbpQHtuxFxLXBQRJwP/BC4rnplSZIkNa9Kr+L8TES8DXgBmAgszMyVVa1MQ97iPqcxe8ztZz1JkprNHgNaRAwD/iUzTwEMZZIkSVW2x1OcmbkN+H1E/Jca1CNJktT0Kr2K8yXg4YhYCbzY05iZ/7MqVUmSJDWxSgParcVLkiRJVbbbgBYRR2bmE5m5rFYFSZIkNbs99aD9AJgMEBErMvNd1S9JZdXfVZfeRFaSpMG3p4AWfaZfV81C1JgWL17M3LmdACxb1h3gDG2SJO2bPV3FmbuYliRJUpXsqQftTRHxAt09aSOLaYr5zMzXVLU6SZKkJrTbgJaZw2pViCRJkrpV+ixOSZIk1YgBTZIkqWQMaJIkSSVjQJMkSSoZA5okSVLJVPosTlVZf3fplyRJzckeNEmSpJIxoEmSJJVMzU9xRsRE4IY+Ta8DFgIHAecDm4r2j2fmbTUuT5Ikqe5qHtAy8zGgDSAihgG/Ab4PvB+4OjM/U+ua9sTxYfvOYyhJUuXqfYrzZOCXmfnrOtchSZJUGvUOaLOB5X3mPxwRayJiaUQc3N8GETE/IlZFxKpNmzb1t4okSVJDq1tAi4hXAWcC3yuargFeT/fpzw3AZ/vbLjOXZOaUzJzS0tJSk1olSZJqqZ49aGcAD2Tm0wCZ+XRmbsvMV4DrgGl1rE2SJKlu6nmj2jn0Ob0ZEWMzc0Mx+05gbV2qUkPo76KDRYsW1aESSZIGX10CWkSMAt4GXNCn+dMR0QYk0LnDMjUQr9iUJGnf1CWgZebvgTE7tJ1bj1pUfgY+SVKzqfdVnJIkSdqBAU2SJKlkDGiSJEklY0CTJEkqGQOaJElSyRjQJEmSSsaAJkmSVDIGNEmSpJIxoEmSJJWMAU2SJKlkDGiSJEklY0CTJEkqGQOaJElSyRjQJEmSSsaAJkmSVDIGNEmSpJLZv94FSLW2ePHindoWLVpUh0okSeqfPWiSJEklYw+ahgx7xiRJQ4U9aJIkSSVjQJMkSSoZA5okSVLJOAZNalL9jdnrj+P4JKn26hbQIqIT+B2wDdiamVMi4hDgBmAC0Am8OzN/W68am8Gu/kj7R1mSpPqp9ynOt2ZmW2ZOKeY/BtyZmUcDdxbzkiRJTaVspzjfDrQX08uADuCj9SqmkXnLiW6VnsaTJKlM6hnQErgjIhK4NjOXAIdn5gaAzNwQEYftuFFEzAfmAxx55JG1rLepGGzUw9PgklR79QxoJ2TmU0UIWxkRj1ayURHklgBMmTIlq1mgJElSPdRtDFpmPlW8bwS+D0wDno6IsQDF+8Z61SdJklQvdelBi4jRwH6Z+bti+lTgCuAWYC5wVfF+cz3qqzZPH0qSpN2p1ynOw4HvR0RPDd/OzH+OiJ8C342IDwBPAGfXqT5JkqS6qUtAy8xfAW/qp70LOLn2FTUHe+4kSWoM9b4PmiRJknZgQJMkSSqZst2oVlKD8GbIklQ9BjRJg8bQJkmDw1OckiRJJWNAkyRJKhkDmiRJUsk4Bk1qYI75kqShyR40SZKkkjGgSZIklYwBTZIkqWQMaJIkSSVjQJMkSSoZA5okSVLJGNAkSZJKxoAmSZJUMt6oVhpivHmtJDU+A5pUZ7UIVP19hiSpvAxo0gDZQyVJqjbHoEmSJJWMPWhSCdlLJ0nNzYAm7YZjtyRJ9eApTkmSpJKpeUCLiCMi4t8iYl1EPBIRFxftl0fEbyJidfGaWevaJEmSyqAepzi3An+XmQ9ExIHA/RGxslh2dWZ+pg41SZIklUbNA1pmbgA2FNO/i4h1wLha1yH15VgzSVKZ1HUMWkRMACYB9xVNH46INRGxNCIO3sU28yNiVUSs2rRpU40qlSRJqp26BbSIOABYAVySmS8A1wCvB9ro7mH7bH/bZeaSzJySmVNaWlpqVq8kSVKt1OU2GxExnO5wdn1m3gSQmU/3WX4d8E/1qE3aGz6uSZI0mOpxFWcAXwPWZebn+rSP7bPaO4G1ta5NkiSpDOrRg3YCcC7wcESsLto+DsyJiDYggU7ggjrUJlVVM/aC+VQESRq4elzF+SMg+ll0W61rkSRJKiMf9SRVSTP2lg02e98kNSsf9SRJklQy9qBJqjl7xiRp9+xBkyRJKhkDmiRJUskY0CRJkkrGgCZJklQyBjRJkqSSMaBJkiSVjAFNkiSpZLwPmqSG4j3UJDUDe9AkSZJKxh40SSo5ew2l5mNAk1QKtXi4vEFHUqMwoEnSEGEAlYYOx6BJkiSVjD1okoakWpwyraeh/v2kZmdAk6RB5qlGSfvKgCap4Q2l3qSh9F0akeFaZWFAk6QKVOMPd9nDmGFFQ1Uj/La9SECSJKlk7EGTpL1U9h6wXWnUuptRI/T0qDpKF9Ai4nTgC8Aw4H9n5lV1LknSEFarP4CGoua0q//uhqyBacagWqqAFhHDgK8AbwPWAz+NiFsy82f1rUySGtNQD4a1+MPdCOFgX/47D6XvUov91UrZxqBNA36Rmb/KzD8C3wHeXueaJEmSaqpUPWjAOODJPvPrgb+qUy2SmlSj/j/uehnI8eqvt6bSHqqh1LNS9l65Wvw3cSjB7kVm1ruGXhFxNnBaZv5tMX8uMC0z/0efdeYD84vZicBjNS90aDkUeKbeRTQ4j+Hg8DjuO4/h4PA4Dg6P485em5ktlaxYth609cARfebHA0/1XSEzlwBLalnUUBYRqzJzSr3raGQew8Hhcdx3HsPB4XEcHB7HfVO2MWg/BY6OiKMi4lXAbOCWOtckSZJUU6XqQcvMrRHxYeBf6L7NxtLMfKTOZUmSJNVUqQIaQGbeBtxW7zqaiKeL953HcHB4HPedx3BweBwHh8dxH5TqIgFJkiSVbwyaJElS0zOgSZIklYwBrUlFRGdEPBwRqyNiVb3raRQRsTQiNkbE2j5th0TEyoh4vHg/uJ41NoJdHMfLI+I3xW9ydUTMrGeNZRcRR0TEv0XEuoh4JCIuLtr9PVZoN8fQ3+IARMSIiPhJRDxUHMfFRftREXFf8Vu8obg7gyrkGLQmFRGdwJTM9CaCAxARJwGbgW9k5rFF26eBZzPzqoj4GHBwZn60nnWW3S6O4+XA5sz8TD1raxQRMRYYm5kPRMSBwP3AO4D34e+xIrs5hu/G32LFIiKA0Zm5OSKGAz8CLgY+AtyUmd+JiK8CD2XmNfWstZHYgyYNQGbeBTy7Q/PbgWXF9DK6/4HXbuziOGoAMnNDZj5QTP8OWEf34/L8PVZoN8dQA5DdNhezw4tXAjOAG4t2f4sDZEBrXgncERH3F4/P0t47PDM3QPc/+MBhda6nkX04ItYUp0A9NVehiJgATALuw9/jXtnhGIK/xQGJiGERsRrYCKwEfgk8l5lbi1XWY/gdEANa8zohMycDZwAXFaecpHq6Bng90AZsAD5b33IaQ0QcAKwALsnMF+pdTyPq5xj6WxygzNyWmW10P6JxGvCX/a1W26oamwGtSWXmU8X7RuD7dP8PSnvn6WIsS8+Ylo11rqchZebTxT/yrwDX4W9yj4rxPiuA6zPzpqLZ3+MA9HcM/S3uvcx8DugApgMHRUTPDfF3era2ds+A1oQiYnQxIJaIGA2cCqzd/VbajVuAucX0XODmOtbSsHpCReGd+JvcrWJg9teAdZn5uT6L/D1WaFfH0N/iwERES0QcVEyPBE6hezzfvwFnFav5Wxwgr+JsQhHxOrp7zaD7cV/fzswr61hSw4iI5UA7cCjwNLAI+AHwXeBI4Ang7Mx0APxu7OI4ttN9SimBTuCCnrFU2llEnAjcDTwMvFI0f5zuMVT+Hiuwm2M4B3+LFYuIVrovAhhGd8fPdzPziuJvzXeAQ4AHgfdm5h/qV2ljMaBJkiSVjKc4JUmSSsaAJkmSVDIGNEmSpJIxoEmSJJWMAU2SJKlkDGiShpSI+EREPFI8pmd1RPxVFT+rIyKmVGv/kprX/nteRZIaQ0T8N2AWMDkz/xARhwKvqnNZkjRg9qBJGkqZ2c2uAAAB5klEQVTGAs/03AwzM5/JzKciYmFE/DQi1kbEkuIO8j09YFdHxF0RsS4ipkbETRHxeER8slhnQkQ8GhHLil65GyNi1I4fHBGnRsSPI+KBiPhe8XxHSdorBjRJQ8kdwBER8fOI+MeIeEvR/uXMnJqZxwIj6e5l6/HHzDwJ+Crdj6K5CDgWeF9EjCnWmQgsycxW4AXgwr4fWvTUXQackpmTgVXAR6rzFSU1AwOapCEjMzcDxwPzgU3ADRHxPuCtEXFfRDwMzADe2GezW4r3h4FHMnND0QP3K+CIYtmTmXlPMf0t4MQdPno6cAxwT0Sspvu5g68d1C8nqak4Bk3SkJKZ24AOoKMIZBcArcCUzHwyIi4HRvTZpOfZgK/0me6Z7/k3csdn4u04H8DKzJyzz19AkrAHTdIQEhETI+LoPk1twGPF9DPFuLCz9mLXRxYXIED3g7R/tMPye4ETIuK/FnWMioi/2IvPkSTAHjRJQ8sBwJci4iBgK/ALuk93Pkf3KcxO4Kd7sd91wNyIuBZ4HLim78LM3FScSl0eEa8umi8Dfr4XnyVJROaOPfWSpB4RMQH4p+ICA0mqCU9xSpIklYw9aJIkSSVjD5okSVLJGNAkSZJKxoAmSZJUMgY0SZKkkjGgSZIklcz/B4AE8rFULUMjAAAAAElFTkSuQmCC\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 25,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import seaborn as sns\n",
        "\n",
        "sns.distplot(final_list , color=\"dodgerblue\", axlabel='Sample')"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 26,
          "data": {
            "text/plain": [
              "<matplotlib.axes._subplots.AxesSubplot at 0x1619bbe2cf8>"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 26,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#skewness\n",
        "print('Skewness:', sample.skew())"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Skewness: 1.56889940428\n"
          ]
        }
      ],
      "execution_count": 27,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#kutosis\n",
        "print('Kutosis:', sample.kurt())"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Kutosis: 3.45949851138\n"
          ]
        }
      ],
      "execution_count": 28,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "#convert pandas DataFrame object to numpy array and sort\n",
        "h = np.asarray(sample)\n",
        "h = sorted(h)\n",
        " \n",
        "#use the scipy stats module to fit a normal distirbution with same mean and standard deviation\n",
        "fit = stats.norm.pdf(h, np.mean(h), np.std(h)) \n",
        " \n",
        "#plot both series on the histogram\n",
        "plt.plot(h,fit,'-',linewidth = 2,label=\"Normal distribution with same mean and var\")\n",
        "plt.hist(h,normed=True,bins = 100,label=\"Actual distribution\")      \n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "C:\\Users\\Tin Hang\\Anaconda3\\envs\\py35\\lib\\site-packages\\matplotlib\\axes\\_axes.py:6462: UserWarning: The 'normed' kwarg is deprecated, and has been replaced by the 'density' kwarg.\n",
            "  warnings.warn(\"The 'normed' kwarg is deprecated, and has been \"\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xd8FHX+x/HXJ5tGDS0KEjABAYUEAgQiSBWF2MCjCKco2Ch3HqeoFL2DyNnxpx53HupJsWJBQY7jRFEQUVQC0ot0CFEhgUR62uf3R5Y1hJRNCGyW+TwfjzzYnfnO7Gcy5L2z35n5rqgqxhhjnCHA1wUYY4w5fyz0jTHGQSz0jTHGQSz0jTHGQSz0jTHGQSz0jTHGQSz0jTHGQSz0jTHGQSz0jTHGQQJ9XUBBderU0cjISF+XYYwxfmXlypWpqhpeUrsKF/qRkZEkJSX5ugxjjPErIrLbm3bWvWOMMQ5ioW+MMQ5ioW+MMQ5S4fr0TdGysrJITk7mxIkTvi7FGOMjoaGhREREEBQUVKblLfT9SHJyMtWqVSMyMhIR8XU5xpjzTFVJS0sjOTmZqKioMq3Dunf8yIkTJ6hdu7YFvjEOJSLUrl37rD7tW+j7GQt8Y5ztbDPAQt8YYxzEQt94TUR48MEHPc+fe+45EhMTz2sNQ4cOZfbs2cW22bVrF9HR0QAkJSUxatSoYtu+8847Rc5PSUmhf//+AMycOZP77ruvVPXOnDmTlJQUz/N77rmHjRs3lmodZZF/u5csWcI333zjmefN79CUTVn+j5xvFvreSAz77cfBQkJC+Oijj0hNTS3T8tnZ2eVcUcni4uKYMmVKkfOLC/3s7GwuueSSswrIgqH/2muv0bx58zKvz1v5t7tg6Bv/Ut5/Nxb6xmuBgYEMGzaMF1544Yx5u3fvpkePHrRs2ZIePXqwZ88eIO+ocvTo0XTv3p2xY8eSmJjIkCFD6NmzJ5GRkXz00UeMGTOGmJgYEhISyMrKAmDSpEm0a9eO6Ohohg0bhqoWW9vKlStp1aoVHTp04KWXXvJMX7JkCTfeeCMAX375JbGxscTGxtK6dWsOHz7MuHHj+Oqrr4iNjeWFF15g5syZDBgwgJtuuomePXue9qkBYO/evSQkJNCsWTMee+wxgDPanPoENHv2bJKSkrjtttuIjY3l+PHjdOvWzTPMyKxZs4iJiSE6OpqxY8d6lq9atSqPPvoorVq14sorr+SXX345Y3tjYmJIT09HValduzZvvPEGALfffjuLFi3ybPeuXbt4+eWXeeGFF4iNjeWrr74CYOnSpXTs2JFGjRoV+qZ29OhRbrjhBlq1akV0dDTvvfdesfulW7duPPDAA3Tp0oUrrriCFStW0LdvX5o0acJf/vIXz3rfeust2rdvT2xsLMOHDycnJ+eM146MjOSRRx6hQ4cOxMXFsWrVKnr16kXjxo15+eWXPe0mT55Mu3btaNmyJRMnTvRMv/nmm2nbti0tWrTg1VdfLdXv9fvvv6djx460bt2ajh07smXLFiDvzbtv374kJCTQpEkTxowZ41lmxowZNG3alK5du/L111+fsc7c3FwiIyNJT0/3TLvsssv45Zdf+M9//kN8fDytW7fmmmuu8dSUmJjIsGHD6NmzJ3fccccZ6zwrqlqhftq2basVzsTqv/340MaNGz2PLx07/5z8FKdKlSqakZGhl156qaanp+vkyZN14sSJqqp644036syZM1VVddq0adqnTx9VVR0yZIjecMMNmp2draqqEydO1KuuukozMzN19erVWqlSJV2wYIGqqt588806Z84cVVVNS0vzvO7gwYN13rx5nvV98MEHZ9QWExOjS5YsUVXVhx56SFu0aKGqqosXL9YbbrjBU+OyZctUVfXw4cOalZV12nxV1RkzZmj9+vU9r79z507PumbMmKF169bV1NRUPXbsmLZo0UJXrFhxWhtVPe330rVrV12xYoVn3qnn+/bt0wYNGuj+/fs1KytLu3fv7tl2wLO9Dz/8sP7tb387Y3uHDx+u8+fP13Xr1mlcXJzec889qqp62WWX6eHDh0/brokTJ+rkyZM9yw4ZMkT79++vOTk5umHDBm3cuPEZ6589e7Znnaqq6enpxe6Xrl276pgxY1RV9cUXX9R69eppSkqKnjhxQuvXr6+pqam6ceNGvfHGGzUzM1NVVUeOHKmvv/76Ga996aWX6r/+9S9VVb3//vs1JiZGf/31V92/f7+Gh4erqurChQv13nvv1dzcXM3JydEbbrhBv/zyy9NqPLWPUlNTvf69ZmRkaFZWlqqqfvbZZ9q3b19Vzdv3UVFRmp6ersePH9eGDRvqnj17NCUlxbMfT548qR07dtQ//vGPZ6x31KhROn36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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 29,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Ordinary least squares\n",
        "from statsmodels.formula.api import ols\n",
        "\n",
        "mlr = ols(\"sample~Open+High+Low+Volume\", dataset).fit()\n",
        "print(mlr.summary())"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "                            OLS Regression Results                            \n",
            "==============================================================================\n",
            "Dep. Variable:                 sample   R-squared:                       0.999\n",
            "Model:                            OLS   Adj. R-squared:                  0.999\n",
            "Method:                 Least Squares   F-statistic:                 1.502e+06\n",
            "Date:                Fri, 09 Aug 2019   Prob (F-statistic):               0.00\n",
            "Time:                        20:29:42   Log-Likelihood:                 2305.1\n",
            "No. Observations:                3020   AIC:                            -4600.\n",
            "Df Residuals:                    3015   BIC:                            -4570.\n",
            "Df Model:                           4                                         \n",
            "Covariance Type:            nonrobust                                         \n",
            "==============================================================================\n",
            "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
            "------------------------------------------------------------------------------\n",
            "Intercept     -0.0054      0.004     -1.436      0.151      -0.013       0.002\n",
            "Open          -0.6001      0.013    -46.395      0.000      -0.625      -0.575\n",
            "High           0.8072      0.014     56.558      0.000       0.779       0.835\n",
            "Low            0.7939      0.013     62.343      0.000       0.769       0.819\n",
            "Volume     -3.217e-11   1.11e-10     -0.289      0.772    -2.5e-10    1.86e-10\n",
            "==============================================================================\n",
            "Omnibus:                      768.214   Durbin-Watson:                   2.192\n",
            "Prob(Omnibus):                  0.000   Jarque-Bera (JB):            55465.154\n",
            "Skew:                           0.070   Prob(JB):                         0.00\n",
            "Kurtosis:                      23.994   Cond. No.                     3.77e+08\n",
            "==============================================================================\n",
            "\n",
            "Warnings:\n",
            "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
            "[2] The condition number is large, 3.77e+08. This might indicate that there are\n",
            "strong multicollinearity or other numerical problems.\n"
          ]
        }
      ],
      "execution_count": 30,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# One sample t-test\n",
        "from scipy.stats import ttest_1samp\n",
        "\n",
        "sample_mean = np.mean(sample)\n",
        "print(\"Sample Mean:\", sample_mean)\n",
        "tset, pval = ttest_1samp(sample, 8)\n",
        "\n",
        "print(\"p-values:\",pval)\n",
        "if pval < 0.05:    # alpha value is 0.05 or 5%\n",
        "   print(\"Rejecting null hypothesis\")\n",
        "else:\n",
        "  print(\"Accepting null hypothesis\")"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Sample Mean: 7.307850993377494\n",
            "p-values: 5.72226493771e-14\n",
            "Rejecting null hypothesis\n"
          ]
        }
      ],
      "execution_count": 31,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Two sampled T-test\n",
        "from scipy.stats import ttest_ind\n",
        "\n",
        "low_mean = np.mean(dataset['Low'])\n",
        "high_mean = np.mean(dataset['High'])\n",
        "print(\"Low mean value:\", low_mean)\n",
        "print(\"High mean value:\", high_mean)\n",
        "\n",
        "low_std = np.std(dataset['Low'])\n",
        "high_std = np.std(dataset['High'])\n",
        "print(\"week1 std value:\", low_std)\n",
        "print(\"week2 std value:\", high_std)\n",
        "\n",
        "ttest,pval = ttest_ind(dataset['Low'],dataset['High'])\n",
        "print(\"p-value:\",pval)\n",
        "\n",
        "if pval <0.05:\n",
        "  print(\"Reject null hypothesis\")\n",
        "else:\n",
        "  print(\"Accept null hypothesis\")"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Low mean value: 7.148288077152302\n",
            "High mean value: 7.472039734437109\n",
            "week1 std value: 4.91223413555167\n",
            "week2 std value: 5.157058804236294\n",
            "p-value: 0.0125284301319\n",
            "Reject null hypothesis\n"
          ]
        }
      ],
      "execution_count": 32,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Paired sampled t-test\n",
        "\n",
        "dataset[['Open','Close']].describe()\n",
        "ttest,pval = stats.ttest_rel(dataset['Open'], dataset['Close'])\n",
        "print('p-value:', pval)\n",
        "\n",
        "if pval<0.05:\n",
        "    print(\"Reject null hypothesis\")\n",
        "else:\n",
        "    print(\"Accept null hypothesis\")"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "p-value: 0.0494388526567\n",
            "Reject null hypothesis\n"
          ]
        }
      ],
      "execution_count": 33,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# One-sample Z test\n",
        "from scipy import stats\n",
        "from statsmodels.stats import weightstats as stests\n",
        "\n",
        "ztest ,pval = stests.ztest(sample, x2=None, value=156)\n",
        "print('p-value:',pval)\n",
        "\n",
        "if pval<0.05:\n",
        "    print(\"Reject null hypothesis\")\n",
        "else:\n",
        "    print(\"Accept null hypothesis\")"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "p-value: 0.0\n",
            "Reject null hypothesis\n"
          ]
        }
      ],
      "execution_count": 34,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Two-sample Z test\n",
        "test ,pval1 = stests.ztest(dataset['High'], x2=dataset['Low'], value=0,alternative='two-sided')\n",
        "\n",
        "print('p-value:',pval)\n",
        "\n",
        "if pval<0.05:\n",
        "    print(\"Reject null hypothesis\")\n",
        "else:\n",
        "    print(\"Accept null hypothesis\")"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "p-value: 0.0\n",
            "Reject null hypothesis\n"
          ]
        }
      ],
      "execution_count": 35,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# One Way F-test(Anova)\n",
        "F, p = stats.f_oneway(dataset['Low'], dataset['High'], dataset['Volume'])\n",
        "\n",
        "print(\"p-value for significance is: \", p)\n",
        "\n",
        "if p<0.05:\n",
        "    print(\"Reject null hypothesis\")\n",
        "else:\n",
        "    print(\"Accept null hypothesis\")"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "p-value for significance is:  0.0\n",
            "Reject null hypothesis\n"
          ]
        }
      ],
      "execution_count": 36,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "values = sample\n",
        "two_std_from_mean = np.mean(values) + np.std(values)*1.645\n",
        "kde = stats.gaussian_kde(values)\n",
        "pos = np.linspace(np.min(values), np.max(values), 10000)\n",
        "plt.plot(pos, kde(pos), color='blue')\n",
        "shade = np.linspace(two_std_from_mean, 40, 300)\n",
        "plt.fill_between(shade, kde(shade), alpha=0.45, color='blue')\n",
        "plt.title(\"Sampling Distribution for One-Tail Hypothesis Test\", y=1.015, fontsize=20)\n",
        "plt.xlabel(\"sample mean value\", labelpad=14)\n",
        "plt.ylabel(\"frequency of occurence\", labelpad=14)"
      ],
      "outputs": [
        {
          "output_type": "execute_result",
          "execution_count": 37,
          "data": {
            "text/plain": [
              "Text(0,0.5,'frequency of occurence')"
            ]
          },
          "metadata": {}
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ],
            "image/png": [
              "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\n"
            ]
          },
          "metadata": {}
        }
      ],
      "execution_count": 37,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "symbol1 = '^GSPC' \n",
        "symbol2 = 'AMD'\n",
        "\n",
        "data1 = yf.download(symbol1,start,end)\n",
        "data2 = yf.download(symbol2,start,end)"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "[*********************100%***********************]  1 of 1 downloaded\n",
            "[*********************100%***********************]  1 of 1 downloaded\n"
          ]
        }
      ],
      "execution_count": 38,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# Student's t-test for independent samples\n",
        "from scipy.stats import ttest_ind\n",
        "\n",
        "# generate two independent samples\n",
        "data1 = data1['Adj Close']\n",
        "data2 = data2['Adj Close']\n",
        "# compare samples\n",
        "stat, p = ttest_ind(data1, data2)\n",
        "print('t=%.3f, p=%.3f' % (stat, p))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "t=170.409, p=0.000\n"
          ]
        }
      ],
      "execution_count": 39,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# calculate sample standard deviations\n",
        "std1, std2 = np.std(data1, ddof=1), np.std(data2, ddof=1)"
      ],
      "outputs": [],
      "execution_count": 40,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# calculate standard errors\n",
        "n1, n2 = len(data1), len(data2)\n",
        "se1, se2 = std1/math.sqrt(n1), std2/math.sqrt(n2)"
      ],
      "outputs": [],
      "execution_count": 41,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# calculate standard errors\n",
        "se1, se2 = stats.sem(data1), stats.sem(data2)"
      ],
      "outputs": [],
      "execution_count": 42,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# standard error on the difference between the samples\n",
        "sed = math.sqrt(se1**2.0 + se2**2.0)"
      ],
      "outputs": [],
      "execution_count": 43,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# calculate the t statistic\n",
        "t_stat = (data1.mean() - data2.mean()) / sed"
      ],
      "outputs": [],
      "execution_count": 44,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# degrees of freedom\n",
        "df = n1 + n2 - 2"
      ],
      "outputs": [],
      "execution_count": 45,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from scipy.stats import t\n",
        "# calculate the critical value\n",
        "alpha = 0.05\n",
        "cv = t.ppf(1.0 - alpha, df)"
      ],
      "outputs": [],
      "execution_count": 46,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# calculate the p-value\n",
        "p = (1 - t.cdf(abs(t_stat), df)) * 2"
      ],
      "outputs": [],
      "execution_count": 47,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# function for calculating the t-test for two independent samples\n",
        "def independent_ttest(data1, data2, alpha):\n",
        "\t# calculate means\n",
        "\tmean1, mean2 = mean(data1), mean(data2)\n",
        "\t# calculate standard errors\n",
        "\tse1, se2 = sem(data1), sem(data2)\n",
        "\t# standard error on the difference between the samples\n",
        "\tsed = sqrt(se1**2.0 + se2**2.0)\n",
        "\t# calculate the t statistic\n",
        "\tt_stat = (mean1 - mean2) / sed\n",
        "\t# degrees of freedom\n",
        "\tdf = len(data1) + len(data2) - 2\n",
        "\t# calculate the critical value\n",
        "\tcv = t.ppf(1.0 - alpha, df)\n",
        "\t# calculate the p-value\n",
        "\tp = (1.0 - t.cdf(abs(t_stat), df)) * 2.0\n",
        "\t# return everything\n",
        "\treturn t_stat, df, cv, p"
      ],
      "outputs": [],
      "execution_count": 48,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# interpret via critical value\n",
        "if abs(t_stat) <= cv:\n",
        "\tprint('Accept null hypothesis that the means are equal.')\n",
        "else:\n",
        "\tprint('Reject the null hypothesis that the means are equal.')"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Reject the null hypothesis that the means are equal.\n"
          ]
        }
      ],
      "execution_count": 49,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# interpret via p-value\n",
        "if p > alpha:\n",
        "\tprint('Accept null hypothesis that the means are equal.')\n",
        "else:\n",
        "\tprint('Reject the null hypothesis that the means are equal.')"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Reject the null hypothesis that the means are equal.\n"
          ]
        }
      ],
      "execution_count": 50,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# function for calculating the t-test for two dependent samples\n",
        "def dependent_ttest(data1, data2, alpha):\n",
        "\t# calculate means\n",
        "\tmean1, mean2 = np.mean(data1), np.mean(data2)\n",
        "\t# number of paired samples\n",
        "\tn = len(data1)\n",
        "\t# sum squared difference between observations\n",
        "\td1 = sum([(data1[i]-data2[i])**2 for i in range(n)])\n",
        "\t# sum difference between observations\n",
        "\td2 = sum([data1[i]-data2[i] for i in range(n)])\n",
        "\t# standard deviation of the difference between means\n",
        "\tsd = math.sqrt((d1 - (d2**2 / n)) / (n - 1))\n",
        "\t# standard error of the difference between the means\n",
        "\tsed = sd / math.sqrt(n)\n",
        "\t# calculate the t statistic\n",
        "\tt_stat = (mean1 - mean2) / sed\n",
        "\t# degrees of freedom\n",
        "\tdf = n - 1\n",
        "\t# calculate the critical value\n",
        "\tcv = t.ppf(1.0 - alpha, df)\n",
        "\t# calculate the p-value\n",
        "\tp = (1.0 - t.cdf(abs(t_stat), df)) * 2.0\n",
        "\t# return everything\n",
        "\treturn t_stat, df, cv, p"
      ],
      "outputs": [],
      "execution_count": 51,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from scipy.stats import ttest_rel\n",
        "\n",
        "# compare samples\n",
        "stat, p = ttest_rel(data1, data2)\n",
        "print('Statistics=%.3f, p=%.3f' % (stat, p))"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Statistics=171.091, p=0.000\n"
          ]
        }
      ],
      "execution_count": 52,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    },
    {
      "cell_type": "code",
      "source": [
        "# calculate the t test\n",
        "alpha = 0.05\n",
        "t_stat, df, cv, p = dependent_ttest(data1, data2, alpha)\n",
        "print('t=%.3f, df=%d, cv=%.3f, p=%.3f' % (t_stat, df, cv, p))\n",
        "# interpret via critical value\n",
        "if abs(t_stat) <= cv:\n",
        "\tprint('Accept null hypothesis that the means are equal.')\n",
        "else:\n",
        "\tprint('Reject the null hypothesis that the means are equal.')\n",
        "# interpret via p-value\n",
        "if p > alpha:\n",
        "\tprint('Accept null hypothesis that the means are equal.')\n",
        "else:\n",
        "\tprint('Reject the null hypothesis that the means are equal.')"
      ],
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "t=171.091, df=3019, cv=1.645, p=0.000\n",
            "Reject the null hypothesis that the means are equal.\n",
            "Reject the null hypothesis that the means are equal.\n"
          ]
        }
      ],
      "execution_count": 53,
      "metadata": {
        "collapsed": false,
        "outputHidden": false,
        "inputHidden": false
      }
    }
  ],
  "metadata": {
    "kernel_info": {
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "version": 3,
        "name": "ipython"
      },
      "mimetype": "text/x-python",
      "file_extension": ".py",
      "version": "3.5.5",
      "pygments_lexer": "ipython3",
      "name": "python",
      "nbconvert_exporter": "python"
    },
    "kernelspec": {
      "name": "python3",
      "language": "python",
      "display_name": "Python 3"
    },
    "nteract": {
      "version": "0.14.5"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}